#ifndef LGE2D_IGAME_HPP_
#define LGE2D_IGAME_HPP_

#include <SFML/Graphics.hpp>

namespace sf
{
class Event;
}

namespace lge2d
{

class IRenderable
{
public:
	virtual void Render() const = 0;
	virtual ~IRenderable()
	{
	}
};

class IGame: public IRenderable
{
public:
	virtual void Initialize() = 0;
	virtual void Update(float deltaTime) = 0;
	virtual void OnEvent(const sf::Event& event) = 0;
	virtual ~IGame()
	{
	}
};

} /* namespace lge2d */

#endif /* LGE2D_IGAME_HPP_ */
